/**  
 * 文 件 名: IRoleDAO.java  
 * 描    述：   
 * 版    权：Copyright (c)20012-2012 tongzhou All Rights Reserved.
 * 公    司: 同舟 
 * 作    者：彭定雄                     
 * 版    本: 1.0  
 * 创建时间: 2012-10-27
 *  
 * 修改历史：  
 * 时间                             作者                       版本                        描述  
 * ------------------------------------------------------------------  
 * 2012-10-27        彭定雄                1.0          1.0 Version  
 */         

/**
 * 
 */
package com.tongzhou.system.rightsMgmt.dao;

import java.util.List;

import com.tongzhou.db.exception.DBException;
import com.tongzhou.system.menu.model.Menu;
import com.tongzhou.system.rightsMgmt.model.Groups;
import com.tongzhou.system.rightsMgmt.model.Right;
import com.tongzhou.system.rightsMgmt.model.RightType;
import com.tongzhou.system.rightsMgmt.model.Role;
import com.tongzhou.system.rightsMgmt.model.RoleRightTypeRelation;
import com.tongzhou.system.rightsMgmt.model.SearchRoleCondition;
import com.tongzhou.system.userMgr.model.User;

public interface IRoleDAO {
	public List<Role> listRole(SearchRoleCondition condition) throws DBException;
	public List<Role> checkRoleByName(Role role) throws DBException;
	public List<Role> getAllRole() throws DBException;
	public List<Role> getUserRoleByUserId(Role role) throws DBException;
	public void addRole(Role role) throws DBException;
	public void deleteRole(Role role) throws DBException;
	public void updateRole(Role role) throws DBException;
	public void updateRoleMenu(Role role) throws DBException;
	public void updateRoleRight(Role role) throws DBException;
	public Role getRoleById(Role role) throws DBException;
	public List<Menu> getRoleMenuById(Role role) throws DBException;
	public List<Right> getRoleRightById(Role role) throws DBException;
	public List<User> getRoleUserById(Role role) throws DBException;
	public void updateUserRole(Role role) throws DBException;
	public void updateRoleUser(Role role) throws DBException;
	public List<Groups> getRoleGroupsById(Role role) throws DBException;
	public void updateRoleGroups(Role role) throws DBException;
	public List<RoleRightTypeRelation> getRoleRTDataById(RightType rightType) throws DBException;
	public void updateRoleRightType(Role role) throws DBException;
	public List<RoleRightTypeRelation> getRTData(RoleRightTypeRelation roleRTRelation) throws DBException;
	public List<RoleRightTypeRelation> getRTDataById(RightType rightType) throws DBException;
	public List<RightType> getRoleRTById(Role role) throws DBException;
}
